package com.example.service;

import com.example.model.SdInfo;
import com.example.model.dto.PageDTO;
import com.example.model.qo.PageResult;
import com.example.result.DataResponse;

import java.util.List;

public interface DeviceService {

    /**
     * 分页获取设备
     * @param pageDTO
     * @return
     */
    PageResult pageList(PageDTO pageDTO);

    /**
     * 更新设备ip
     * @param sdInfo
     * @return
     */
    DataResponse updateInfo(SdInfo sdInfo);

    /**
     * 查询设备列表
     * @param sdInfo
     * @return
     */
    public List<SdInfo> selectList(SdInfo sdInfo);

    /**
     * 更新设备信息
     * @param sdInfo
     */
    public void  updateDevice(SdInfo sdInfo);
    /**
     * 根据id获取设备信息
     * @param
     */
    public SdInfo  getDeviceById(Long id);


    /**
     * 开启读卡设备
     * @param sdInfo
     * @return
     */
    DataResponse openDevice(SdInfo sdInfo);

    /**
     * 关闭读卡设备
     * @param sdInfo
     * @return
     */
    DataResponse closeDevice(SdInfo sdInfo);

    /**
     * 刷新读卡机
     * @param sdInfo
     * @return
     */
    DataResponse refreshDevice(SdInfo sdInfo);


    /**
     * 保存读卡记录
     * @param mac
     */
    void saveCardRecord(String mac,String cardInfo,String fromIp);

    /**
     * 通过ip保存读卡记录
     * @param
     */
    void saveCardRecord(String cardInfo,String fromIp);
}
